//将经纬度转换为cityCode
import $ from "./jquery"
export function getCityCode(lng, lat) {
  let url = 'https://restapi.amap.com/v3/geocode/regeo?key=3bbecd94657f229decdbdafbf40dff9a&location=' + lng + ',' + lat + '&extensions=all&batch=false&roadlevel=0'
  return new Promise((resolve, reject) => {
    $.ajax({
      url: url,
      type: 'get',
      dataType: 'json',
      success: function(data) {
        resolve(data)
      },
      error: function(err) {
        reject(err)
      }
    })
  })
}
//获取屏幕高度
export function screenHeight() {
  return document.body.clientHeight
  // return window.screen.height
}
//获取屏幕宽度
export function screenWidth() {
  return document.body.clientWidth
  // return window.screen.height
}

//冒泡排序 从小到大
export function bubbleSort(data) {
  for (let i = 0; i < data.length - 1; i++) {
    //每一轮比较要比多少次
    for (let j = 0; j < data.length - 1 - i; j++) {
      //如果第一个比第二个大，就交换他们两个位置
      // if (parseInt(data[j].dictValue) > parseInt(data[j + 1].dictValue)) {
      if (parseInt(data[j].developmentIndex) > parseInt(data[j + 1].developmentIndex)) {
        let temp = data[j]
        data[j] = data[j + 1]
        data[j + 1] = temp
      }
    }
  }
  return data
}
//冒泡排序 从大到小
export function bubbleSort2(data) {
  for (let i = 0; i < data.length - 1; i++) {
    //每一轮比较要比多少次
    for (let j = 0; j < data.length - 1 - i; j++) {
      //如果第一个比第二个大，就交换他们两个位置
      if (parseInt(data[j].dictValue) < parseInt(data[j + 1].dictValue)) {
        let temp = data[j]
        data[j] = data[j + 1]
        data[j + 1] = temp
      }
    }
  }
  return data
}

export function isJSON(str) {
  if (typeof str == 'string') {
    try {
      var obj=JSON.parse(str);
      if(typeof obj == 'object' && obj ){
        return true;
      }else{
        return false;
      }
    } catch(e) {
      console.log('error：'+str+'!!!'+e);
      return false;
    }
  }
}

export function calculateCenter(lnglatarr) {
  var total = lnglatarr.length;
  var X = 0,
    Y = 0,
    Z = 0;
  lnglatarr.map((item) => {
    var lng = (item[0] * Math.PI) / 180;
    var lat = (item[1] * Math.PI) / 180;
    var x, y, z;
    x = Math.cos(lat) * Math.cos(lng);
    y = Math.cos(lat) * Math.sin(lng);
    z = Math.sin(lat);
    X += x;
    Y += y;
    Z += z;
  });
  X = X / total;
  Y = Y / total;
  Z = Z / total;
  var Lng = Math.atan2(Y, X);
  var Hyp = Math.sqrt(X * X + Y * Y);
  var Lat = Math.atan2(Z, Hyp);
  return [(Lng * 180) / Math.PI, (Lat * 180) / Math.PI];
}

